#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>

using namespace std;

using i64 = long long;

int dfs(int pos, int pre, int lead, int limit) {
	if (!pos) {
		return !lead;
		// 边界条件
		//
	}
	
	if (!limit && !lead && f[pos][pre] != -1) return f[pos][pre];

	int re = 0;
	re = dfs(pos - 1, pre, lead, 0);
	int up = limit? s[pos - 1]: ;// 无限制的条件；
	
	for (int i = 0; i <= up; ++i) {
		if () continue; // 不合法
		re += dfs(pos - 1, d, lead && !i, limit && i == up);
	}

	return limit || lead ? re: f[pos][pre] = re; 
}

int calc(int n) {
	int len = 0;
	while (n) a[len ++] = n % 10, n /= 10;
	return dfs(len, 0, 1, 1);
}

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);


  return 0;
}
